function fn() {
  var arr = []
  for (var i = 0; i < 5; i++) {
    function foo() {
      console.log(i);
    }
    arr.push(foo)
  }
  return arr
}

var funcs = fn()
for (var j = 0; j < 5; j++) {
  funcs[j]()  // 数组中的 5 个函数依次执行
}

// (function() {
// })()